Method and apparatus for providing web service access to telephony functionality

ABSTRACT

One embodiment of the present invention provides a system that facilitates web service access to telephony functionality. During operation, the system receives a request at a web service to access the telephony functionality using a Voice Over Internet Protocol (VOIP) network. In response, the system selects an interface to the VOIP network, routes the telephony functionality to a public switched telephone network (PSTN), and accesses the telephony functionality.

RELATED APPLICATION

[0001] This application hereby claims priority under 35 U.S.C. §119 toU.S. Provisional Patent Application No. 60/476,771 filed on Jun. 5,2003, entitled “Unified Telephony Platform,” by inventor Johnny Wong(Attorney Docket No. OR03-11501PRO).

[0002] The subject matter of this application is related to the subjectmatter in a co-pending non-provisional application by the same inventoras the instant application entitled, “Apparatus and Method for Providinga Unified Telephony Solution,” having Seri. No. ______ TO BE ASSIGNED,and filing date ______ TO BE ASSIGNED (Attorney Docket No. OR03-11601).

BACKGROUND

[0003] 1. Field of the Invention

[0004] The present invention relates to a system that provides telephonyacross an Internet Protocol network. More specifically, the presentinvention relates to a method and an apparatus that facilitates webservice access to telephony functionality.

[0005] 2. Related Art

[0006] Many individuals and businesses are turning to the Internet fortelephony services in an effort to consolidate all forms ofcommunications under one carrier. Many solutions have been designed toease the transition to an Internet solution for various servicesincluding telephony. These solutions have led to some standardizationfor telephony services.

[0007] The Internet engineering task force (IETF) has created thesession initiation protocol (SIP), standard which standardizes methodsand procedures used to couple the Internet to the public switchedtelephone network (PSTN). SIP provides protocols for voice, video, andmulti-media sessions between an Internet session and a telephone orvideophone on the PSTN. The SIP protocols are similar to the well knownhypertext transfer protocol (HTTP) in that both are message based. SIPincludes messages for, inter alia, invites, response statuses, andgoodbye.

[0008] While SIP covers the actions generated within the SIP network,SIP provides no methods for initiating an action from outside the SIPnetwork. For example, there is no standardized method for connecting auser at a web browser to the SIP network. There are many situationswhere a user at a web browser would like to initiate an action on theSIP network. For example, the user might like to enter his or hertelephone number into a web browser and have an action initiated on theSIP network to receive a phone call from a vendor.

[0009] Hence, what is needed is a method and an apparatus to facilitateweb service access to telephony functionality without the problemsdescribed above.

SUMMARY

[0010] One embodiment of the present invention provides a system thatfacilitates web service access to telephony functionality. Duringoperation, the system receives a request at a web service to access thetelephony functionality using a Voice Over Internet Protocol (VOIP)network. In response, the system selects an interface to the VOIPnetwork, routes the telephony functionality to a public switchedtelephone network (PSTN), and accesses the telephony functionality.

[0011] In a variation of this embodiment, the VOIP network includes asession initiation protocol (SIP) network.

[0012] In a further variation, the interface to the VOIP networkincludes a SIP servlet.

[0013] In a further variation, the SIP servlet is a member of a SIPservlet container.

[0014] In a further variation, the SIP servlet is registered with aremote method invocation (RMI) registry.

[0015] In a further variation, selecting the interface to the VOIPnetwork involves accessing the RMI registry to select the SIP servlet.

[0016] In a further variation, the SIP network is coupled to an H323network, wherein the H323 network facilitates audiovisual communicationon local area networks.

[0017] In a further variation, receiving the request at the web serviceto access the telephony functionality involves receiving the requestfrom a web server on behalf of a user of a web browser.

BRIEF DESCRIPTION OF THE FIGURES

[0018]FIG. 1 illustrates web service access to telephony functionalityin accordance with an embodiment of the present invention.

[0019]FIG. 2 illustrates a browser screen in accordance with anembodiment of the present invention.

[0020]FIG. 3 presents a flowchart illustrating the process ofinitializing web service access to telephony functionality in accordancewith an embodiment of the present invention.

[0021]FIG. 4 presents a flowchart illustrating the process of webservice access to telephony functionality in accordance with anembodiment of the present invention.

DETAILED DESCRIPTION

[0022] The following description is presented to enable any personskilled in the art to make and use the invention, and is provided in thecontext of a particular application and its requirements. Variousmodifications to the disclosed embodiments will be readily apparent tothose skilled in the art, and the general principles defined herein maybe applied to other embodiments and applications without departing fromthe spirit and scope of the present invention. Thus, the presentinvention is not intended to be limited to the embodiments shown, but isto be accorded the widest scope consistent with the principles andfeatures disclosed herein.

[0023] The data structures and code described in this detaileddescription are typically stored on a computer readable storage medium,which may be any device or medium that can store code and/or data foruse by a computer system. This includes, but is not limited to, magneticand optical storage devices such as disk drives, magnetic tape, CDs(compact discs) and DVDs (digital versatile discs or digital videodiscs), and computer instruction signals embodied in a transmissionmedium (with or without a carrier wave upon which the signals aremodulated). For example, the transmission medium may include acommunications network, such as the Internet.

[0024] Web Service Access System

[0025]FIG. 1 illustrates a system that provides web service access totelephony functionality in accordance with an embodiment of the presentinvention. This system includes browser 104, network 106, web server108, web services 110, remote method invocation registry 112, SIPservlet container 114, SIP servlets 116 and 118, SIP network 120,corporate network 122, SIP gateway 124, H323 gateway 126, PSTN 128, H323network 130, and telephones 132 and 134.

[0026] Browser 104 can generally include any type of web browser capableof viewing a web site, such as the INTERNET EXPLORER™ browserdistributed by the Microsoft Corporation of Redmond, Wash. Browser 104allows user 102 to access the functionality provided by web server 108.

[0027] Network 106 can generally include any type of wire or wirelesscommunication channel capable of coupling together computing nodes. Thisincludes, but is not limited to, a local area network, a wide areanetwork, or a combination of networks. In one embodiment of the presentinvention, network 106 includes the Internet.

[0028] Web server 108 can generally include any computational nodeincluding a mechanism for servicing requests from a client forcomputational and/or data storage resources. Web server 108 receivesrequests from browser 104 across network 106 and provides the requestedservices to browser 104. Web server 108 accesses web services 110 torequest and receive services that are not directly available to webserver 108. For example, web services 110 can access a distributeddatabase (not shown) to store and retrieve data on behalf of user 102.

[0029] Web services 110 receives requests from web server 108 on behalfof user 102 to access telephony functionality. Web services 110, inresponse, accesses remote method invocation registry 112 to identify aSIP servlet within SIP servlet container 114 to process the request.

[0030] SIP servlet container 114 includes SIP servlets, which providetelephony functionality on SIP network 120. For example, SIP servlet 116may provide “invite” functionality, while SIP servlet 120 may provide“status reporting” functionality. Note that SIP servlet container 114may include more SIP servlets than shown.

[0031] During system initialization, SIP servlet container 114 registerseach SIP servlet within SIP servlet container 114 with remote methodinvocation registry 112. This registration makes each SIP servlet withinSIP servlet container 114 available to web services 110.

[0032] In one embodiment of the present invention, web services 110 canaccess the functionality of SIP servlets 116 and 118—and any other SIPservlets—directly without using remote method invocation registry 112and SIP servlet container 114.

[0033] SIP servlets 116 and 118 interface with SIP network 120 to accesstelephony functionality. SIP network 120 may be coupled with a corporatenetwork 122 as is shown in FIG. 1. Corporate network 122, oralternatively SIP network 120 interfaces to SIP gateway 124. SIP gateway124 couples SIP network 120 to public switched telephone network (PSTN)128, which provides access to telephone 132. Corporate network 122, oralternatively SIP network 120 can also interface with H323 gateway 126,which couples SIP network 120 to H323 network 130. H323 network 130provides access to telephone 134.

[0034] Browser Screen

[0035]FIG. 2 illustrates an exemplary browser screen in accordance withan embodiment of the present invention. Product distributor's browserscreen 202 provides information from a product distributor to user 102.Note that many details displayed on product distributor's browser screen202 have been eliminated to focus on only the essential elements. Duringoperation, user 102 selects a product in product selection window 204.Note that there are many ways other than a scroll window for user 102 toselect the desired product.

[0036] Instructions included on product distributor's browser screen 202direct user 102 to enter a telephone number into phone number entry box206 and then click on more info button 208. In response to this action,user 102 will receive a phone call at the entered number, wherein thetelephone call provides user 102 with more information about theselected product.

[0037] When user 102 clicks on more info button 208, web server 108requests telephony access from web services 110. In response to thisrequest, web services 110 selects a SIP servlet, say SIP servlet 116, toaccess SIP network 120 and to initiate the telephone call.

[0038] Initializing Web Service Access

[0039]FIG. 3 presents a flowchart illustrating the process ofinitializing web service access to telephony functionality in accordancewith an embodiment of the present invention. The system starts when aremote method invocation class for receiving actions is created (step302). Next, the system starts the SIP servlet container (step 304).

[0040] After the SIP servlet container has been started, each SIPservlet within the SIP servlet container registers with the remotemethod invocation (RMI) registry (step 306). The system then waits foran action request from the web service (step 308).

[0041] Web Service Access

[0042]FIG. 4 presents a flowchart illustrating the process of webservice access to telephony functionality in accordance with anembodiment of the present invention. The system starts when a request isreceived from user 102 at web server 108 to initiate a telephony action(step 402). In response, web server 108 sends a request to web services110 to initiate the telephony action on SIP network 120 (step 404).

[0043] Web services 110 optionally checks the authenticity of therequest and/or logs the request (step 406). Next, web services 110requests remote method invocation of a SIP servlet from RMI registry 112to process the request (step 408). In response, RMI registry 112triggers an action from a SIP servlet, say SIP servlet 116, to interfaceweb services 110 with SIP network 120 (step 410).

[0044] SIP servlet 116 then initiates the desired action on SIP network120 (step 410). Next, the action causes a communication between SIPnetwork 120 and PSTN network 128 through SIP gateway 124 (step 412). Theaction additionally involves a communication between PSTN 128 andtelephone 132 (step 414).

[0045] The foregoing descriptions of embodiments of the presentinvention have been presented for purposes of illustration anddescription only. They are not intended to be exhaustive or to limit thepresent invention to the forms disclosed. Accordingly, manymodifications and variations will be apparent to practitioners skilledin the art. Additionally, the above disclosure is not intended to limitthe present invention. The scope of the present invention is defined bythe appended claims.

What is claimed is:
 1. A method to facilitate web service access totelephony functionality, comprising: receiving a request at a webservice to access the telephony functionality through a Voice OverInternet Protocol (VOIP) network; selecting an interface to the VOIPnetwork; routing the telephony functionality to a public switchedtelephone network (PSTN) through the interface; and accessing thetelephony functionality on the PSTN over the VOIP network.
 2. The methodof claim 1, wherein the VOIP network includes a session initiationprotocol (SIP) network.
 3. The method of claim 2, wherein the interfaceto the VOIP network includes a SIP servlet.
 4. The method of claim 3,wherein the SIP servlet is a member of a SIP servlet container.
 5. Themethod of claim 4, wherein the SIP servlet is registered with a remotemethod invocation (RMI) registry.
 6. The method of claim 5, whereinselecting the interface to the VOIP network involves accessing the RMIregistry to select the SIP servlet.
 7. The method of claim 2, whereinthe SIP network is coupled to an H323 network, wherein the H323 networkfacilitates audiovisual communication on local area networks.
 8. Themethod of claim 1, wherein receiving the request at the web service toaccess the telephony functionality involves receiving the request from aweb server on behalf of a user of a web browser.
 9. A computer-readablestorage medium storing instructions that when executed by a computercause the computer to perform a method to facilitate web service accessto telephony functionality, the method comprising: receiving a requestat a web service to access the telephony functionality through a VoiceOver Internet Protocol (VOIP) network; selecting an interface to theVOIP network; routing the telephony functionality to a public switchedtelephone network (PSTN) through the interface; and accessing thetelephony functionality on the PSTN over the VOIP network.
 10. Thecomputer-readable storage medium of claim 9, wherein the VOIP networkincludes a session initiation protocol (SIP) network.
 11. Thecomputer-readable storage medium of claim 10, wherein the interface tothe VOIP network includes a SIP servlet.
 12. The computer-readablestorage medium of claim 11, wherein the SIP servlet is a member of a SIPservlet container.
 13. The computer-readable storage medium of claim 12,wherein the SIP servlet is registered with a remote method invocation(RMI) registry.
 14. The computer-readable storage medium of claim 13,wherein selecting the interface to the VOIP network involves accessingthe RMI registry to select the SIP servlet.
 15. The computer-readablestorage medium of claim 10, wherein the SIP network is coupled to anH323 network, wherein the H323 network facilitates audiovisualcommunication on local area networks.
 16. The computer-readable storagemedium of claim 9, wherein receiving the request at the web service toaccess the telephony functionality involves receiving the request from aweb server on behalf of a user of a web browser.
 17. An apparatus tofacilitate web service access to telephony functionality, comprising: areceiving mechanism configured to receive a request at a web service toaccess the telephony functionality using a voice over Internet protocol(VOIP) network; a selecting mechanism configured to select an interfaceto the VOIP network; a routing mechanism configured to route thetelephony functionality to a public switched telephone network (PSTN)through the interface; and an accessing mechanism configured to accessthe telephony functionality on the PSTN over the VOIP network.
 18. Theapparatus of claim 17, wherein the VOIP network includes a sessioninitiation protocol (SIP) network.
 19. The apparatus of claim 18,wherein the interface to the VOIP network includes a SIP servlet. 20.The apparatus of claim 19, wherein the SIP servlet is a member of a SIPservlet container
 21. The apparatus of claim 20, wherein the SIP servletis registered with a remote method invocation (RMI) registry.
 22. Theapparatus of claim 21, wherein selecting the interface to the VOIPnetwork involves accessing the RMI registry to select the SIP servlet.23. The apparatus of claim 18, wherein the SIP network is coupled to anH323 network, wherein the H323 network facilitates audiovisualcommunication on local area networks.
 24. The apparatus of claim 17,wherein receiving the request at the web service to access the telephonyfunctionality involves receiving the request from a web server on behalfof a user of a web browser.